const path = require('path')
const htmlWebpackPlugin = require('html-webpack-plugin')
const MiniCssExtractPlugin = require('mini-css-extract-plugin')

module.exports = {
  //开发模式：development，代码调试， 生产模式：production ,代码压缩，优化
  //如果mode不配置，会有警告提示信息
  mode: "production",

  //入口文件，如果不配置，默然找根目录下 /src/index.js
  // entry:"./src/js/index.js",
  entry: {
    'main': "./src/js/index.js",
    'detail': "./src/js/detai.js"
  },
  //打包完成，输出文件的位置(不能写相对路径),可以不配置，默认输出到dist目录
  output: {
    path: path.resolve(__dirname, './dist'),
    filename: '[name]-[hash].js'
  },
  plugins: [
    new htmlWebpackPlugin({
      title: 'webpack demo home',
      //模板文件路径
      template: "./src/views/index.html",
      //自动存储到output 配置的目录
      filename: 'index.html',
      chunks: ['main']
    }),

    new htmlWebpackPlugin({
      title: 'webpack demo home',
      //模板文件路径
      template: "./src/views/detail.html",
      //自动存储到output 配置的目录
      filename: 'detail.html',
      chunks: ['detail']
    }),
    new MiniCssExtractPlugin({
      //页面引用的样式文件名
      filename: '[name]-[hash].css',
      // chunkFilename: 'common.css',
    })
  ],
  module: {
    rules: [
      {
        test: /\.s[ac]ss$/,
        //执行顺序：从右向左
        use: [
          // 将 JS 字符串生成为 style 节点
          'style-loader',
          // MiniCssExtractPlugin.loader,
          //将 CSS 转化成 CommonJS 模块
          'css-loader',
          //把.scss文件文件转换为.css文件
          'sass-loader'
        ]
      }
    ]
  }
}